<html>
<head><meta charset="utf-8"><title>Using Vue.js · t-compiler/performance · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/index.html">t-compiler/performance</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/topic/Using.20Vue.2Ejs.html">Using Vue.js</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="246392695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/247081-t-compiler/performance/topic/Using%20Vue.js/near/246392695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> rylev <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/topic/Using.20Vue.2Ejs.html#246392695">(Jul 18 2021 at 18:51)</a>:</h4>
<p>I've pushed a PR to my fork for moving the comparison page to Vue.js <a href="https://github.com/rylev/rustc-perf/pull/1">https://github.com/rylev/rustc-perf/pull/1</a></p>
<p>The reason for this PR is that we are currently doing direct DOM manipulation by building strings of HTML and setting innerHTML on some elements. This is pretty error prone and hard to extend.</p>
<p>I don't want to introduce added build complexities and Vue doesn't require any pre-processing or compilation steps. It's pretty small and very straight-forward if you're familiar with react or similar types of libraries. The guide page is also pretty short, and we're only using features mentioned on that page. </p>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> any concern with moving to vue?</p>



<a name="246392772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/247081-t-compiler/performance/topic/Using%20Vue.js/near/246392772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> rylev <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/topic/Using.20Vue.2Ejs.html#246392772">(Jul 18 2021 at 18:53)</a>:</h4>
<p>(the next steps after this are to hide "non-significant" changes by default)</p>



<a name="246393125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/247081-t-compiler/performance/topic/Using%20Vue.js/near/246393125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/topic/Using.20Vue.2Ejs.html#246393125">(Jul 18 2021 at 19:01)</a>:</h4>
<p>I've used it before. I think it's fine, shouldn't be a big deal to add it.</p>



<a name="246394823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/247081-t-compiler/performance/topic/Using%20Vue.js/near/246394823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/topic/Using.20Vue.2Ejs.html#246394823">(Jul 18 2021 at 19:43)</a>:</h4>
<p>What about preact? It is much smaller.</p>



<a name="246394963"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/247081-t-compiler/performance/topic/Using%20Vue.js/near/246394963" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/topic/Using.20Vue.2Ejs.html#246394963">(Jul 18 2021 at 19:46)</a>:</h4>
<p>It is also simpler. I tried to use vue a couple of days ago to work on Graphite and it gave me some opaque error when trying to use v-model for a custom element. Maybe reading the documentation would help me understand it, but react/preact don't really need explanation at all beyond the basic concept.</p>



<a name="246395053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/247081-t-compiler/performance/topic/Using%20Vue.js/near/246395053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/topic/Using.20Vue.2Ejs.html#246395053">(Jul 18 2021 at 19:49)</a>:</h4>
<p>I have no particular opinion on framework; I don't really actively use any of them but imagine they're all about as equally OK for our use case.</p>



<a name="246395280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/247081-t-compiler/performance/topic/Using%20Vue.js/near/246395280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> rylev <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/topic/Using.20Vue.2Ejs.html#246395280">(Jul 18 2021 at 19:54)</a>:</h4>
<p>One important thing was to not require pre-compilation steps. I've not used preact before, but it's my understanding that using it without jsx (and thus a pre-compilation step) is suboptimal. Vue just works in plain HTML</p>



<a name="246395297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/247081-t-compiler/performance/topic/Using%20Vue.js/near/246395297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> rylev <a href="https://rust-lang.github.io/zulip_archive/stream/247081-t-compiler/performance/topic/Using.20Vue.2Ejs.html#246395297">(Jul 18 2021 at 19:54)</a>:</h4>
<p>(plus the code is already written and uses Vue, so I'd need a pretty good argument why Vue is a poor choice)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>